新闻中心-凯发娱乐

api安全的发展趋势展望

2019-11-15 14:15:35

如今,应用程序编程接口(api)已经变得非常流行了。各个企业的应用开发都深度依赖于它们之间的相互调用,以支持新产品和服务的按时交付。与此同时,随着api绝对数量的增加,在互联网络上传递的数据量也正在呈指数级地增长。

不过,这些海量数据中,往往会包括诸如:用户详细信息、电子邮件、以及密码等敏感且隐私的数据。例如:通过使用facebook的某些api(请参见:https://developers.facebook.com/docs/graph-api/),您完全可以访问到大量用户的照片、位置之类详细的信息。由于网络世界用户之间的不可见性,这些敏感数据很有可能会被非法分子用于多种恶意的用途。因此,我们在日常的应用开发过程中,应当时刻专注api的安全性,通过安全编码等技术手段,构建出安全可靠的程序api。

api安全性日益受到关注

根据smartbear最近进行的一项研究显示(该研究发布了api现状报告,请参见:

https://smartbear.com/resources/ebooks/the-state-of-api-2019-report/):

  • 在受访并给予回应的对象中,有41.2%的人认为:安全性是他们的api所面对的最大技术问题,而且是当务之急。他们希望在自己的软件产品中不要出现与api安全性相关的漏洞。

  • 在被普遍认为需要改善和提高的api相关领域,安全性排名第四。

  • 有超过40%的api提供者会使用某种工具,来获悉当前api的安全态势。他们希望能够快速且全面地发现潜在的安全漏洞。

目前,api技术已经渗透到了各个行业,乃至各种业务策略的制定环节。其中,最为常见的api当属rest、soap、以及async api。另外,随着物联网的迅速发展,全新的智能化api也在不断地涌现。这些api充当了智能设备和互联网之间的接口作用。那么,到底api是如何做业务趋势以及深度融合发挥作用的呢?通过如下三个方面,我们可窥一斑:

  • 为了让客户获得更好的服务体验,银行机构正在采用、甚至迁移到api式的敏捷模型中,以实现高效、强适应性的金融安全架构。

  • 医疗保健行业的从业人员通过各种可用的api,向患者和客户提供集成化的医疗保健服务,并能提高自身产品的互操作性。

  • 零售商正在使用api为其客户提供更加智能化的电子商务平台,例如:多元化的移动支付应用等。

api安全性的当前状态

当前,在互联网上,每天通过各种api传输的大量数据可谓是鱼龙混杂。有的是一些公众性的普通数据,有的则是需要通过加密的机密性数据。因此,应用开发与维护人员需要和那些看不见的隐形对手进行攻防较量,以确保提前揪出软件产品中的各种漏洞。总的说来,api的安全性隐患主要集中在如下三个方面:

  • 授权、认证与审核机制(一般通过访问控制来应对)。

  • 访问量的负载平衡和速率限制。

  • 通信和网络中的数据隐私问题(一般通过ssl/tls来应对)。

api的安全展望

根据本人的开发与项目实施经验,我大胆地对api的安全性趋势做出了如下展望,可供您参考与借鉴。

1. dns安全性(dnssec)

在人们运用移动设备访问各类app的时候,大多数信息都是以未加密的方式,通过无线网络进行往复传输的,因此它们很容易受到截获甚至是攻击。我们需要通过设置ssl或tls的连接方式,来确保传输数据的安全性。当前,最新的tls版本为1.3,而大多数网站也都能够通过api的设计,以https的方式去加密用户的各类敏感信息。

同时,由于几乎所有的网络流量都需要进行标准的dns查询,因此dns成为了众矢之的,针对dns的劫持和中间人攻击时有发生。此类攻击通过将网站的入向流量,重定向到伪造的网站处,进而收集到网站用户的敏感信息,并让企业蒙受损失。

与许多互联网协议相同,dns系统在设计之初也并未考虑到安全性的相关问题,并且存在着一些设计上的限制。而这些限制在面对技术的快速迭代时,就留下了可乘之机。攻击者很容易出于恶意目的去劫持dns的查找请求。例如,他们会将用户转发到分发恶意软件、或收集个人信息的欺诈性网站上。

下面是dns劫持的具体流程:

在上述dns劫持过程中,攻击者通过恶意软件、或是对某些未授权dns服务器的修改,来将查询请求重定向到持有其他域名的服务器上。也就是说,您本想访问,却实际上来到了,而且自己浑然不知。

dns安全扩展(dnssec,

https://dzone.com/refcardz/introduction-to-dns-security?chapter=1)是针对此类问题而创建的安全协议。dnssec协议通过对数据进行数字签名来保护其有效性,并防止其受到攻击。为了确保实现安全的dns查找,此类签名必须在dns查找过程的每个顺序级别上进行。

2. 聚焦安全的api设计

一提到安全,人们往往想到的是复杂性、甚至是不便。因此,api设计的易用性和可扩展性,才是吸引api开发人员、乃至用户的关键战略秘诀。在实践中,当您开始着手为某个微服务构建公开的api时,就应该认真考虑如何设计api的安全性。

只有在设计之初融入了安全性,特别是用户隐私方面的管控,才能节省后续补救与整改的时间和资源。业界著名的restcase api平台正是通过各种ai和复杂的算法,以方便用户在设计阶段去检查和验证自己的api。同时,它能够给出如何处置api安全性方面的各种建议。

3. 人工智能(ai)驱动的api安全性

目前,在不同的行业,开发人员通过将系统的api与海量的数据相集成,在计算机视觉、空间位置、嵌入式应用、web网格、移动文本数据、以及自然语言处理等领域,得到了很好的商业智能化应用,和对发展趋势的预判。通过对于不同实时数据源的持续检测与分析,各类应用具备了更快、更智能的响应能力。

与此同时,我们应该利用好丰富的数据资源,运用ai相关的趋势分析能力,对于调用api的流量进行深度分析,进而侦测到各种历史攻击与异常,并通过自动化的修补措施,以防止后续攻击的再次发生。例如,某些针对特定api的dos攻击源,会在网络中扫描并攻击那些设计方案欠佳,且未对访问请求实施流速限制的api。有时候,某些api节点会在算力(computation)上非常消耗资源。例如:那些需要通过哈希算法来进行身份验证的逻辑。因此,一些经验丰富的攻击者,经常会有目的性地利用并向此类节点发送垃圾邮件,以拖垮或破坏整个系统。

4. 机器学习(ml)驱动的api安全性

如果说ai主要是用于对攻击进行智能判断的话,那么ml则主要能够用于提取威胁的特征。通过开发带有ml功能的智能api,运维人员能够有效地管理各种具有挑战性和新出现的威胁模型。运用此类api的安全性,我们将能够更加准确地识别和标记出各种异常行为,判断出恶意攻击的发展趋势,以及识别和阻止在多种环境、及情况下针对api的攻击行为模式。可以说,有了持续学习功能对于api的加持,我们便可以在无法预知攻击源、以及预设应对策略的情况下,及时识别出正在发生的异常行为。

目前,广泛用于各种api安全方面的机器学习算法,包括:朴素贝叶斯、knn最近邻(k-nearest neighbors)、决策树、随机森林、支持向量机、深度学习、以及神经网络等。

总结

随着现代化技术的日新月异,api安全性已日渐成为了网络应用方面的主要技术需求之一。目前,ai和ml作为有效且智能的工具,已经逐渐被应用到了协议栈的各个层面上,以实现api的全栈安全防护。当然,就下一步发展趋势来看,开发人员需要进一步加大对于api业务模型、分析能力、技术蓝图、以及合规性与标准化方面的深入研究与开发。

  • 稿源:,封面源自网络;

  • 转载链接https://netsecurity.51cto.com/art/201911/606016.htm

  • 本站系本网编辑转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、凯发娱乐的版权和其它问题,请在30日内与本网联系,我们将在第一时间删除内容![声明]本站文章凯发娱乐的版权归原作者所有 内容为作者个人观点 本站只提供参考并不构成任何投资及应用建议。本站拥有对此声明的最终解释权。

  • ã¤âºâŒã§â»â´ã§â â.jpg



网站地图